Introduces TypeScript + tsx for all new pipeline code and replaces
the fragmented yarn scripts with a single ordered orchestrator.
Added:
- pipeline/types.ts — shared TypeScript interfaces for config, metrics,
timeline and index data shapes
- pipeline/update-timeline.ts — ported from scripts/update-timeline.js;
removes migration-targets publishing (retired in phase 1)
- pipeline/validate.ts — ported from scripts/validate-metrics-consistency.js
- pipeline/run.ts — orchestrator with --date and --only flags; runs all
stages in strict order and fails fast on any error
- tsconfig.json — TypeScript config for pipeline/ with Yarn PnP typeRoots
- .yarn/sdks/ — Yarn TypeScript SDK for PnP-aware type checking
Updated:
- package.json — adds yarn pipeline, yarn typecheck scripts; tsx/typescript
as devDependencies
- CI workflow — single "yarn pipeline" step replaces 6 individual steps
Deleted:
- scripts/update-timeline.js (replaced by pipeline/update-timeline.ts)
- scripts/validate-metrics-consistency.js (replaced by pipeline/validate.ts)
- scripts/run-metrics.js (superseded by orchestrator)
Summary
Phase 2 of the pipeline re-architecture. Introduces TypeScript +
tsxfor all new pipeline code and replaces the fragmentedyarnscripts with a single ordered orchestrator.pipeline/run.ts— single entry point that runs all stages in strict order; fails fast on any error; supports--datefor backfill and--only stage1,stage2for debuggingpipeline/update-timeline.ts— TypeScript port ofscripts/update-timeline.js; removes the retired migration-targets publishingpipeline/validate.ts— TypeScript port ofscripts/validate-metrics-consistency.jspipeline/types.ts— shared interfaces for config, metrics data, timeline, and index shapes (aligned withdashboard/src/types/metrics.ts)tsx+typescriptdevDependencies;tsconfig.json; Yarn PnP SDK for type checking (yarn typecheck)yarn pipelinestep replaces 6 individual steps (sync-config, scan extension, scan mobile, update-timeline, validate, discover untracked)Deleted
scripts/update-timeline.js→ replaced bypipeline/update-timeline.tsscripts/validate-metrics-consistency.js→ replaced bypipeline/validate.tsscripts/run-metrics.js→ superseded by orchestratorTest plan
yarn typecheckpasses with no errorsyarn tsx pipeline/validate.tspasses against existing metrics datayarn tsx pipeline/update-timeline.tsregeneratestimeline.jsonandindex.jsoncorrectlyyarn pipeline --only validateruns only the validate stageyarn pipelineas a single stepAfter
No visual changes to dashboard
after720.mov